Modern electronic systems frequently include complex electronic circuits. Some complex electronic circuits, especially very large scale integration (VSLI) integrated circuits, require CAD tools to design. Generally, in custom VLSI circuit design, the design engineer orchestrates the specific circuit placement in the layout after completing the overall schematic. That is, the functional design implementation (the schematic) precedes the placed circuit layout.
Many engineers use graphical tools or a unique placement routine for each design. In common graphical approaches, it usually takes the design engineer some effort to make the placement ground rule correct. Moreover, if there is any change in either the device size or topology in the schematic, the engineer must manually modify the placement in the layout. In graphical approaches, the design engineer estimates the area, size, and form factor of the design based on the floor plan, total device width in the schematic, and projected wiring tracks required to route the design.
In non-graphical approaches, some systems allow a placement routine implemented in a specialized programming language, such as SKILL. Common SKILL code driven placement requires customized functions and hard-coded instance names, which requires distinct coding efforts for each placed sub-circuit. Accordingly, typical SKILL code approaches offer only limited scalability and extensibility. Most SKILL code approaches therefore suffer from the same drawback as typical graphical approaches, namely, re-placing circuit elements based on engineering changes is difficult and cumbersome.
Therefore, there is a need for a system and/or method for improved placement in custom VLSI circuit design that addresses at least some of the problems and disadvantages associated with conventional systems and methods.